﻿//#include <stdio.h>
//#include <stdlib.h>
//typedef struct Node {
//    int data;
//    struct Node* next;
//}Node;
//typedef struct Queue {
//    Node* head;
//    Node* tail;
//    int size;
//}Queue;
//void InitQueue(Queue* Q) {
//    Q->head = Q->tail = (Node*)malloc(sizeof(Node));
//    if (!Q->head) {
//        perror("Q->head And Q->tail");
//        exit(-1);
//    }
//    Q->head = 0;
//    Q->size = 0;
//}
//void PushQueue(Queue* Q, int x) {
//    Node* tail = (Node*)malloc(sizeof(Node));
//    if (!tail) {
//        perror("tail");
//        exit(-1);
//    }
//    tail->data = x;
//    tail->next = 0;
//    if (!Q->head) {
//        Q->head = Q->tail = tail;
//    }
//    else {
//        Q->tail->next = tail;
//        Q->tail = tail;
//    }
//}
//void PopQueue(Queue* Q) {
//    if (!Q->head) {
//        puts("invalid");
//        return;
//    }
//    fprintf(stdout, "%d\n", Q->head->data);
//    Node* head = Q->head->next;
//    free(Q->head);
//    Q->head = head;
//}
//int main() {
//    Queue* Q = (Queue*)malloc(sizeof(Queue));
//    if (!Q) {
//        perror("Q malloc");
//        exit(-1);
//    }
//    InitQueue(Q);
//    int n = 0;
//    fscanf(stdin, "%d", &n);
//    while (n--) {
//        int n1 = 0, n2 = 0;
//        fscanf(stdin, "%d", &n1);
//        if (n1) {
//            fscanf(stdin, "%d", &n2);
//            PushQueue(Q, n2);
//        }
//        else {
//            PopQueue(Q);
//        }
//    }
//    return 0;
//}

//#include<stdio.h>
//#include<string.h>
//double q[101];
//int main()
//{
//    char s[101];
//    gets(s);
//    double x = 0, y = 0, n, m;
//    int f = 0, mark = 0, len = strlen(s), top = 0, k, flag = 1;
//    for (int i = 0; i < len; i++)
//    {
//        if (s[i] == ' ')
//        {
//            f = 0;//用与分割整数部分与小数部分
//            if (!flag)x = -x;// 判断x是否为负
//            if (mark)  //预防数与数 ，或数与运算符之间有连续空格，其实没必要，题意已经说明
//                q[top++] = x;
//            flag = 1;
//            x = 0;
//            mark = 0;
//        }
//        else if (s[i] == '-' && !(s[i + 1] >= '0' && s[i + 1] <= '9'))
//        {
//            n = q[--top];
//            m = q[--top];
//            q[top++] = m - n;
//        }
//        else if (s[i] == '*' && !(s[i + 1] >= '0' && s[i + 1] <= '9'))
//        {
//            n = q[--top];
//            m = q[--top];
//            q[top++] = m * n;
//        }
//        else if (s[i] == '/' && !(s[i + 1] >= '0' && s[i + 1] <= '9'))
//        {
//            n = q[--top];
//            m = q[--top];
//            if (!n)return 0;
//            q[top++] = m / n;
//        }
//        else if (s[i] == '+' && !(s[i + 1] >= '0' && s[i + 1] <= '9'))
//        {
//            n = q[--top];
//            m = q[--top];
//            q[top++] = m + n;
//        }
//        else {
//            if (s[i] == '-')
//                flag = 0;
//            else if (s[i] == '.') {
//                f = 1;
//                k = 10;
//            }
//            else {
//                if (f) {
//                    x += (s[i] - '0') * 1.0 / k;
//                    k *= 10;
//                }
//                else {
//                    x = x * 10 + (s[i] - '0');
//                    mark = 1;
//                }
//
//            }
//        }
//    }
//    printf("%.1lf", q[0]);
//    return 0;
//}